import { createConnection } from 'mysql2';

// 数据库配置
const connection = createConnection({
    host: 'localhost',
    user: 'root',
    password: '123456',
    database: 'server'
});

// 连接数据库
connection.connect((err) => {
    if (err) {
        console.error('数据库连接失败：', err.message);
        return;
    }
    console.log('数据库连接成功');
    // 创建表（如果不存在）
    const createTableQuery = `
        CREATE TABLE IF NOT EXISTS crawl (
            id INT AUTO_INCREMENT PRIMARY KEY,
            src VARCHAR(255),
            title VARCHAR(255),
            score VARCHAR(10),
            description  TEXT
        )
    `;
    connection.query(createTableQuery, (err, results) => {
        if (err) {
            console.error('创建表失败：', err.message);
            return;
        }
        console.log('表创建成功（如果不存在）');
    });
});

// 插入数据方法
function insertData(dataArray) {

    //转化为数组
    dataArray = Array.isArray(dataArray)? dataArray : [dataArray];
    console.log(dataArray);
    const sql = 'INSERT INTO crawl (src, title, score, description ) VALUES?';
    const values = dataArray.map(item => [item.src, item.title, item.score, item.desc]);
    console.log("正在插入数据..."+values);
    connection.query(sql, [values]);
    console.log("数据插入成功!");
}




// 查询所有数据方法// 封装查询数据的函数
function queryAllData() {
    const sql = 'SELECT * FROM crawl';
    return new Promise((resolve, reject) => {
        connection.query(sql, (err, results) => {
            if (err) {
                console.error('查询数据失败：', err.message);
                reject(err);
            } else {
                console.log('正在查询数据...');
                console.log('查询结果：', results);
                resolve(results);
            }
        });
    });
}


export default {
    insertData,
    queryAllData
};